package exception;

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
 * @Author Justin Parker
 * @Date 2024/7/18 0018 14:06
 * @Version 1.0
 */
/*
    Stream应用的步骤
    1.创建Stream对象
    2.执行中间操作（排序，筛选）
    3.执行终止操作
 */
public class StreamDemo01 {
    public static void main(String[] args) {
        //定义集合
        List<Integer> list1 = Arrays.asList(2,45,5,7,8,3,5);
        List<Integer> list2 = Arrays.asList(32,5,7,8,3,5,5,66,24);
        //1.对list1的内容进行排序并输出排序结果
        //对集合元素进行排序并输出
        Stream<Integer> stream = list1.stream();
        //对集合元素进行排序
        Stream<Integer> sorted = stream.sorted();
        //输出排序结果
        sorted.forEach((n)-> System.out.println(n));
        System.out.println(list1);
        //2.对list2的内容进行排序并输出排序结果
         List<Integer> list3 =
                 list2.stream()//创建流对象
                        .distinct()//去重
                        .map((e0)->e0*2) //映射操作，将集合中的每个元素乘2
                        .sorted((e1,e2)->e2-e1)//降序
                        .collect(Collectors.toList());//将排序结果存储新的集合中
        System.out.println(list3);




    }

}
